class Solution
{
public:
    vector<vector<int>> subsets(vector<int>& nums)
    {
        vector<vector<int>> ans = { {} };
        for (int i = 0; i < nums.size(); i++)
        {
            int len = ans.size();
            for (int j = 0; j < len; j++)
            {
                ans[j].emplace_back(nums[i]);
                ans.emplace_back(ans[j]);
                ans[j].pop_back();
            }
        }
        return ans;
    }
};